什麼是 GitLab CI/CD ?
圖片來源:https://medium.com/@brilvio/how-i-implemented-a-ci-build-of-delphi-binaries-using-gitlab-ci-d1123826698f
在開發流程中,我們很習慣將我們的 code 經過 git add ., git commit 到 git push 之後推上GitLab,如此的自動化建置測試與部署流程,大大的減少了開發人員的工作。
CI (Continuous Integration 持續整合) 與 CD(Continuous Delivery持續交付。前者使軟體開發流程自動化,將每一次開發人員的程式碼進行整合,並在每次更新後進行自動化測試。在 merge request 完成後後者會將程式碼部署到生產環境中,在測試環境到上線環境之間透過多方面的驗證更新,讓開發人員可以提前發現問題,已交付給客戶最終的成品。
等等等等! 怎麼還有一個 continuous deployment 持續部署?
有一段話是這麼解釋的…..
What is the difference between Continuous Delivery and Continuous Deployment?
白話文翻譯,是否可以部署的彈性為兩者間的差異。「continuous deployment」意味著所有經過持續整合驗證的代碼都會自動部署到生產環境,而「Continuous Delivery」則表示這些代碼可以隨時進行部署。當持續交付已經建立時,才有可能實行持續部署。
圖片來源:https://forge.etsi.org/rep/help/ci/introduction/index.md
接下來會繼續使用 GitLab 提供的 CI/CD Pipeline,透過透過編寫 .gitlab-ci.yml 文件,驅動Pipeline 協助完成自動化測試及部署,確認無誤後再發布減少發生的機率,避免大量修復的時間成本,進而提升整體品質。
下一篇,來了解一下 怎麼寫 gitlab-ci.yml 文件的基礎吧!
參考文章: